﻿using System;
using System.Collections.Generic;
using System.Text;

namespace RDI.Alef
{
    public enum TipoSumarizacao { Media, Soma, Contagem, Maximo, Minimo }
    public sealed class Sumarizacao
    {
        public TipoSumarizacao Tipo { get; set; }
        public String Propriedade {get; set; }
        public String Alias { get; set; }

        public String FuncaoSQL
        {
            get
            {
                switch (Tipo)
                {
                    case TipoSumarizacao.Media: return "AVG";
                    case TipoSumarizacao.Soma: return "SUM";
                    case TipoSumarizacao.Contagem: return "COUNT";
                    case TipoSumarizacao.Maximo: return "MAX";
                    case TipoSumarizacao.Minimo: return "MIN";
                    default: return String.Empty;
                }
            }
        }

        public Sumarizacao(TipoSumarizacao xTipo, String xPropriedade, String alias)
        {
            Tipo = xTipo;
            Propriedade = xPropriedade;
            Alias = alias;
        }
    }
}
